from django.urls import path, re_path
from . import views


# 路由映射列表
urlpatterns = [
    # 路由映射公式：请求方式 + 请求路径 = 视图函数
    # 判断用户名是否重复
    # re_path(r'^usernames/(?P<username>[a-zA-Z0-9_-]{5,20})/count/$', views.UsernameCountView.as_view()),
    path('usernames/<username:username>/count/', views.UsernameCountView.as_view()),

    # 判断手机号是否重复
    # re_path(r'^mobiles/(?P<mobile>1[3-9]\d{9})/count/$', views.MobileCountView.as_view()),
    path('mobiles/<mobile:mobile>/count/', views.MobileCountView.as_view()),

    # 用户注册
    path('register/', views.RegisterView.as_view()),

    # 用户传统登录
    path('login/', views.LoginView.as_view()),

    # 退出登录
    path('logout/', views.LogoutView.as_view()),

    # 用户中心
    path('info/', views.UserInfoView.as_view()),

    # 添加邮箱
    path('emails/', views.EmailView.as_view()),

    # 验证邮箱激活状态
    path('emails/verification/', views.VerifyEmailView.as_view()),

    # 新增收货地址
    path('addresses/create/', views.CreateAddressView.as_view()),

    # 显示收货地址
    path('addresses/', views.AddressView.as_view()),

    # 修改和删除收货地址
    path('addresses/<int:address_id>/', views.UpdateDestroyAddressView.as_view()),

    # 设置默认地址
    path('addresses/<int:address_id>/default/', views.DefaultAddressView.as_view()),

    # 更新地址标题
    path('addresses/<int:address_id>/title/', views.UpdateTitleAddressView.as_view()),

    # 修改密码
    path('password/', views.ChangePasswordView.as_view()),

    # 用户浏览记录
    path('browse_histories/', views.UserBrowseHistory.as_view()),

]
